import { useParams } from 'common'
import { useRouter } from 'next/router'
import { useEffect } from 'react'
import { LogoLoader } from 'ui'
import { LogsTableName } from '@/components/interfaces/Settings/Logs/Logs.constants'
import { LogsPreviewer } from '@/components/interfaces/Settings/Logs/LogsPreviewer'
import DefaultLayout from '@/components/layouts/DefaultLayout'
import LogsLayout from '@/components/layouts/LogsLayout/LogsLayout'
import { useCheckEntitlements } from '@/hooks/misc/useCheckEntitlements'
import type { NextPageWithLayout } from '@/types'
export const LogPage: NextPageWithLayout = () => {
const router = useRouter()
const { ref } = useParams()
const { hasAccess: hasDedicatedPooler, isLoading: isLoadingEntitlement } =
useCheckEntitlements('dedicated_pooler')
useEffect(() => {
// Redirect to pooler logs if org is not entitled to dedicated pooler
if (!isLoadingEntitlement && !hasDedicatedPooler) {
router.push(`/project/${ref}/logs/pooler-logs`)
}
}, [hasDedicatedPooler, isLoadingEntitlement, ref, router])
// Prevent showing logs while checking entitlement
if (isLoadingEntitlement || !hasDedicatedPooler) {
return
}
return (
)
}
LogPage.getLayout = (page) => (
{page}
)
export default LogPage